Page({
  data: {
    startDate: '',
    endDate: '',
    minDate: '2020-01-01',
    maxDate: '',
    currentType: 'start' // 当前选择的是开始日期还是结束日期
  },

  onLoad() {
    // 设置最大日期为今天
    const today = new Date();
    const maxDate = this.formatDate(today);
    
    // 默认开始日期为一周前
    const startDate = new Date();
    startDate.setDate(today.getDate() - 7);
    
    this.setData({
      maxDate,
      startDate: this.formatDate(startDate),
      endDate: maxDate
    });
  },

  // 切换日期类型（开始日期/结束日期）
  switchDateType(e) {
    const type = e.currentTarget.dataset.type;
    this.setData({ currentType: type });
  },

  // 日期变化事件
  bindDateChange(e) {
    const date = e.detail.value;
    const { currentType } = this.data;
    
    if (currentType === 'start') {
      // 确保开始日期不晚于结束日期
      if (date > this.data.endDate) {
        const customToast = this.selectComponent('#customToast')
        if (customToast) {
          customToast.showToast('开始日期不能晚于结束日期')
        }
        return;
      }
      this.setData({ startDate: date });
    } else {
      // 确保结束日期不早于开始日期
      if (date < this.data.startDate) {
        const customToast = this.selectComponent('#customToast')
        if (customToast) {
          customToast.showToast('结束日期不能早于开始日期')
        }
        return;
      }
      this.setData({ endDate: date });
    }
  },

  // 确认选择
  confirmSelection() {
    const { startDate, endDate } = this.data;
    
    // 获取上一个页面
    const pages = getCurrentPages();
    const prevPage = pages[pages.length - 2];
    
    // 调用上一个页面的方法，传递选择的日期
    prevPage.selectDate('start', startDate);
    prevPage.selectDate('end', endDate);
    
    // 返回上一页
    wx.navigateBack();
  },

  // 取消选择
  cancelSelection() {
    wx.navigateBack();
  },

  // 格式化日期为 YYYY-MM-DD
  formatDate(date) {
    const year = date.getFullYear();
    const month = (date.getMonth() + 1).toString().padStart(2, '0');
    const day = date.getDate().toString().padStart(2, '0');
    return `${year}-${month}-${day}`;
  }
});